package com.loong.ems.service;

import com.github.pagehelper.PageInfo;
import com.loong.ems.domain.entity.EmpPostLevel;
import com.loong.ems.domain.entity.Employee;

import java.util.List;

/**
 * @author 龙勇-229970722
 * @date 2025-01-02 10:23
 * @description:
 */
public interface EmpPostLevelService {
    /**
     * 分页查询岗位岗级信息
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<EmpPostLevel> listByPage(int pageNum, int pageSize);

    /**
     * 获取所有岗位级别信息
     * @return
     */
    List<EmpPostLevel> list();

    /**
     * 新增岗位级别信息
     * @param empPostLevel 岗位级别信息
     */
    void add(EmpPostLevel empPostLevel);

    /**
     * 修改岗位级别信息
     * @param empPostLevel 岗位级别信息
     */
    void update(EmpPostLevel empPostLevel);

    /**
     * 删除岗位级别信息
     * @param id
     */
    void deleteById(Long id);

    /**
     * 获取所有删除的岗位级别信息
     * @return
     */
    List<EmpPostLevel> listDelete();

    /**
     * 恢复删除的岗位级别信息
     * @param id
     */
    void recover(Long id);

    /**
     * 获取所有岗位级别信息包括已删除的
     * @return
     */
    List<EmpPostLevel> getAll();

    /**
     * 分页模糊查询岗位级别信息
     * @param name
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<EmpPostLevel> search(String name, int pageNum, int pageSize);
}
